table of contents
PPPOE(8) | Manuel de l'administrateur Linux | PPPOE(8) |
NOM¶
pppoe - Client PPPoE espace utilisateur
SYNOPSIS¶
pppd pty 'pppoe [pppoe_options]' [pppd_options]
pppoe -A [pppoe_options]
DESCRIPTION¶
pppoe est un client espace utilisateur pour PPPoE (Point-to-Point Protocol over Ethernet), le Protocole Point à Point sur Ethernet pour Linux et autres systèmes UNIX. pppoe travaille de concert avec le démon PPP pppd pour fournir une connexion PPP sur Ethernet, comme utilisée par bien des fournisseurs d'accès DSL.
OPTIONS¶
- -I interface
- L'option -I spécifie l'interface Ethernet à utiliser. Sous Linux, celle-ci est typiquement eth0 ou eth1. L'interface devrait être « montée » avant que vous ne démarriez pppoe, mais ne devrait pas être configurée pour avoir une adresse IP.
- -T timeout
- L'option -T provoque l'arrêt de pppoe si aucun trafic de session n'est détecté au bout de timeout secondes. Je vous recommande d'utiliser cette option comme une mesure de sécurité supplémentaire, et si vous le faites, vous devez vous assurer que PPP génère suffisamment de trafic afin que la fin d'attente (Ndt : timeout) ne soit normalement pas déclenchée. La meilleure façon d'opérer est d'utiliser l'option lcp-echo-interval de pppd. Vous devriez établir la fin d'attente de PPPoE à quatre fois la valeur de l'intervalle d'écho LCP.
- -D nom_fichier
- L'option -D provoque le vidage de chaque paquet dans le fichier spécifié par nom_fichier. Elle n'est destinée qu'au débogage ; elle produit une immense quantité de sortie et réduit fortement les performances.
- -V
- L'option -V provoque l'affichage du numéro de version et la sortie de pppoe.
- -A
- L'option -A provoque l'envoi par pppoe d'un paquet PADI puis affiche les noms des concentrateurs d'accès dans chacun des paquets PADO qu'il reçoit. N'utilisez pas cette option avec pppd ; l'option -A est censée être utilisée interactivement pour donner des informations intéressantes à propos du concentrateur d'accès.
- -S nom_service
- Spécifie le nom du service désiré. pppoe initiera des sessions seulement avec des concentrateurs d'accès qui peuvent fournir le service spécifié. Dans la majorité des cas, vous ne devriez pas spécifier cette option. Utilisez-la seulement si vous savez qu'il y a de multiples concentrateurs d'accès ou si vous savez avoir besoin d'un nom de service spécifique.
- -C nom_ca
- Spécifie le nom du concentrateur d'accès désiré. pppoe initiera des sessions seulement avec le concentrateur d'accès spécifié. Dans la plupart des cas, vous ne devriez pas spécifier cette option. Utilisez-la seulement si vous savez qu'il y a de multiples concentrateurs d'accès. Si les options -S et -C sont toutes les deux spécifiées, elles doivent toutes les deux correspondre pour que pppoe initie une session.
- -U
- Provoque l'utilisation par pppoe du tag Host-Uniq dans ses paquets de découverte. Ceci vous permet de lancer plusieurs démons pppoe sans que leurs paquets de découverte n'interfèrent entre eux. Vous devez fournir cette option à tous les démons pppoe si vous avez l'intention de lancer simultanément plusieurs démons.
- -s
- Provoque l'utilisation par pppoe de l'encapsulation PPP synchrone. Si vous utilisez cette option, alors vous devez utiliser l'option sync avec pppd. Vous êtes encouragés à utiliser cette option si elle fonctionne, car elle réduit grandement le surdébit CPU de pppoe. Toutefois, cela PEUT ne pas être fiable sur des machines lentes -- il y a une compétition entre l'écriture d'une donnée par pppd et sa lecture par pppoe. Pour cette raison, le réglage par défaut est asynchrone. Si vous rencontrez des bogues ou des plantages avec PPP Synchrone, désactivez-le -- ne me demandez pas d'assurer le service après-vente !
- -m MSS
- Force pppoe à fixer la taille maximale du segment TCP à la valeur spécifiée. À cause du surdébit de PPPoE, la taille maximale du segment pour PPPoE est plus petite que pour l'encapsulation normale d'Ethernet. Cela pourrait poser des problèmes pour des machines d'un réseau local situé derrière une passerelle utilisant pppoe. Si vous avez un réseau local derrière une passerelle, et si cette passerelle est connectée à Internet en utilisant pppoe, il vous est fortement recommandé d'utiliser l'option -m 1412. Cela évite d'avoir à configurer le MTU sur tous les hôtes du réseau local.
- -p fichier
- Provoque l'écriture par pppoe de son numéro de processus dans le fichier spécifié. Cela peut être utilisé pour repérer et détruire les processus pppoe.
- -e sess:mac
- Force pppoe à sauter la phase découverte et à aller directement à la phase session. La session est donnée par sess et l'adresse MAC du vis-à-vis par mac. Ce mode n'est pas destiné à une utilisation normale ; il est conçu seulement pour pppoe-server(8).
- -n
- Force pppoe à ne pas ouvrir d'interface de connexion découverte. Ce mode n'est pas destiné à une utilisation normale ; il est conçu seulement pour pppoe-server(8).
- -k
- Force pppoe à clôturer une session existante en envoyant une trame PADT, et quitte. Vous devez utiliser l'option -e conjointement à cette option pour spécifier la session à tuer. Cela peut être pratique pour tuer des sessions lorsqu'un vis-à-vis défectueux ne réalise pas que la session est close.
- -d
- Force pppoe à effectuer une découverte et quitte, après avoir affiché les informations de la session sur la sortie standard. Les informations de la session sont affichées exactement dans le format attendu par l'option -e. Cette option vous permet d'initier une découverte PPPoE, elle effectue quelqu'autre travail, et lance la véritable session PPP. Soyez prudent ; si vous utilisez cette option dans une boucle, vous créez beaucoup de sessions qui peuvent perturber votre vis-à-vis.
- -f disc:sess
- L'option -f règle les types de trame Ethernet pour la découverte PPPoE et les trames de session. Les types sont spécifiés par des nombres hexadécimaux séparés par deux points. Le standard PPPoE utilise des types de trames 8863:8864. Vous ne devriez pas utiliser cette option à moins d'être absolument certain que le vis-à-vis auquel vous ayez affaire utilise des types de trame non normalisés. Si votre FAI utilise des types de trame non normalisés, plaignez-vous !
- -h
- L'option -h provoque l'affichage par pppoe de l'information d'usage et quitte.
ARRIÈRE-PLAN PPPOE¶
PPPoE (Point-to-Point Protocol over Ethernet), qui est décrit dans la RFC 2516 (Ndt : on trouvera une version française de la RFC 2516 à la page http://abcdrfc.free.fr/rfc-vf/rfc2516.html) est un protocole qui permet de maintenir l'abstraction de session sur les réseaux Ethernet pontés.
PPPoE travaille en encapsulant des trames PPP dans des trames Ethernet. Le protocole a deux étapes distinctes : la découverte et la session.
Dans l'étape découverte, l'hôte diffuse une trame particulière PADI (PPPoE Active Discovery Initiation), le paquet de découverte « Initialisation », afin de découvrir tous les concentrateurs d'accès. Les concentrateurs d'accès (typiquement, seulement un concentrateur d'accès) répondent avec un paquet de découverte « Offre » PADO (PPPoE Active Discovery Offer), annonçant leur présence ainsi que les services qu'ils offrent. L'hôte choisit un de ces concentrateurs d'accès et transmet un paquet de découverte « Requête » PADR (PPPoE Active Discovery Request), interrogeant pour une session. Le concentrateur d'accès répond avec un paquet de découverte « Confirmation de session » PADS (PPPoE Active Discovery Session-Confirmation). Le protocole passe ensuite à l'étape session.
Dans l'étape session, l'hôte et le concentrateur d'accès échangent des trames PPP intégrées dans des trames Ethernet. Le MTU Ethernet normal est de 1500 octets, mais l'entête PPPoE plus deux octets d'en-tête pour la trame PPP encapsulée signifie que le MTU de l'interface PPP est au plus 1492 octets. Cela provoque toutes sortes de problèmes si vous utilisez une machine Linux comme pare-feu et si les interfaces derrière le pare-feu ont un MTU supérieur à 1492. En fait, pour être sûr, je vous recommande de régler le MTU des machines situées derrière le pare-feu à 1412, pour parer à la pire éventualité des options TCP et IP dans leur en-têtes respectifs.
Normalement, PPP utilise le Protocole de Contrôle des Liens (LCP) pour couper un lien PPP. Toutefois, la spécification PPPoE autorise la rupture du lien avec le paquet de découverte « Terminaison » PADT (PPPoE Active Discovery Terminate). Le client reconnaît ce paquet et s'achèvera correctement si une requête terminaison est reçue pour la session PPP.
BUTS AVOUÉS¶
Les objectifs que je m'étais fixés pour ce client PPPoE étaient les suivants, par ordre décroissant d'importance :
- o
- Il doit fonctionner.
- o
- Il doit être un programme espace utilisateur et pas un patch pour le noyau.
- o
- Le code doit être facile à lire et à maintenir.
- o
- Il doit être pleinement conforme à la RFC 2516, le standard PPPoE.
- o
- Il ne doit jamais raccrocher définitivement -- si la connexion est coupée, il doit le détecter et sortir, permettant à un script enveloppe de redémarrer la connexion.
- o
- Il doit avoir un fonctionnement sûr.
Je pense avoir atteint tous ces objectifs, mais (bien sûr) suis ouvert à toute suggestion, patch et idée. Rendez-vous sur ma page d'accueil, http://www.roaringpenguin.com, pour les informations de contact.
NOTES¶
Pour de meilleurs résultats, vous devez donner à pppd une option mtu de 1492. J'ai pu observé des problèmes avec des trames excessivement grandes, à moins d'avoir réglé cette option. Aussi, si pppoe tourne sur une machine pare-feu, toutes les machines derrière le pare-feu doivent avoir des MTU de 1412.
Si vous avez des problèmes, consultez les journaux de votre système. pppoe consigne des informations intéressantes dans le journal du système. Vous pouvez mettre en place la journalisation des messages de niveau debug pour un diagnostic complet.
AUTEUR¶
pppoe a été écrit par David F. Skoll <dfs@roaringpenguin.com>, fortement inspiré d'une version antérieure de Luke Stras. La page d'accueil pppoe est http://www.roaringpenguin.com/pppoe/.
VOIR AUSSI¶
pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), pppoe-setup(8), pppoe-status(8), pppoe-server(8), pppoe-sniff(8), pppoe-relay(8)
TRADUCTION¶
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 3 février 2003 et révisée le 19 novembre 2007.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 8 pppoe ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
3 juillet 2000 | 4th Berkeley Distribution |